﻿module Sustainalytics.Common {

    import Authentication = Sustainalytics.Authentication;

    export interface IStaticObjects {
        getMessageByInternalCode: (internalCode: number) => string;
        reportTypes: ICommonDto[];
        companies: IGuidNameDto[];
        comparativeGroups: ICommonDto[];
        matrixes: IGuidNameDto[];
        referenceUniverses: IGuidNameDto[];
        reportResponse: IReportNotification;
        apiBaseUrl: string;
        authBaseUrl: string;
        reportResponseBroadcast: (reportNotification: IReportNotification) => void;
        broadcastItem: () => void;
        getErrorMesageByStatusCode: any;
        errorCallback: (error, status, internalCode: number) => void;
        initSignalR: () => void;
        reportStatus: IReportStatus;
        clearUserInfo: () => void;
        redirectToLogin: () => void;
        redirectToDefault: (redirectTo?: string) => void;
        redirectToLink: (link: string) => void;
        authDataIsExpired: (authData: Authentication.AuthData) => boolean;
        screeningToolBaseUrl: string;
        screeningToolServBaseUrl: string;
        portfolioBaseUrl: string;
        resourcePermissions: string;
        eventsServiceBaseUrl: string;
        screeningExportDetails: Sustainalytics.Screening.ExportDetailsDto;
        getGCCSAssesmentByValue: (value: number) => string;
    }
}